4
תגובות

טריק מגניב עם laravel

פתח Splash ,
אני בונה בימים אלה את המערכת הראשונה שלי ב laravel ובמהלך הפיתוח התקשתי לממש את החלק של השפה באתר.

הייתי צריך פתרון שעונה על הצרכים האלה -

1.שלא יהיה צורך לשכפל נתיבים על מנת ליצור נתיב חדש.[נתיב לכל שפה]
2.ששפת הברירת מחדל [עברית במקרה שלי] לא תצוין בכתובת כך ש mysite.com לדוגמא יפנה לעברית
3.שהשפה תצויין בכתובת ולא ע"פ עוגיות \ כל שיטה אחרת
4.שכתובת השפה תיהיה ראשונה ותדמה תיקיה. לדוגמא mysite.com/en יהיה באנגלית

אחרי שישבתי על זה כמה שעות גיליתי שניתן לדחוף ל prefix null ולמעשה הוא יוותר על ה prefix.
כעט אני יכול ליצור עמודים שיכולים להיות מתורגמים ועמודים ספציפים שלא יתורגמו לשפות האחרות.

במקרה הזה ספציפית אני רוצה לתמוך רק בשתי שפות - עברית ואנגלית ולכן הקוד בסגנון הזה -


$locale = Request::segment(1);
if ($locale == 'en') {
    App::setLocale($locale);
} else {
    $locale = null;
}

Route::group(array('prefix' => $locale), function() {

    // דפים שיתורגמו לכל השפות

});
//דפים שלא יתורגמו לשפות אחרות


במידה ולמישהו יש הצעות יותר נורמאליות למימוש אשמח לשמוע,אני משתמש בזה לבנתיים משום שזה הפתרון הנורמאלי היחידי שהצלחתי למצוא.
כל שאר הדברים דרשו ממני לכלול כל מיני ספריות עמוסות בקודים בשביל דבר שאמור להיות מאוד פשוט

4 תשובות

avatar ענה pol292 ב 02 ליוני 2014 #

יש קוד של api של גוגל שמתרגם לכל השפות דרך גוגל translate

avatar ענה Splash ב 02 ליוני 2014 #

זה בכלל לא עונה על המטרה של האתר,נתחיל מזה שהשירות שלהם עולה כסף ככה שאתה בכלל לא יכול לדעת מה ההוצאות של העסק בעקבות השימוש בשירות.
בנוסף המטרה של האתר היא תדמית לעסק [העיסוק המרכזי בארץ ועוד מספר פרויקטים קטנים בחו"ל].השירות לא יכול לתרגם משפטים שלמים עם דקדוק ככה שהפתרון הזה ממש לא יעיל ולמעשה מוציא שם רע לעסק.
איזה בן אדם מארצות הברית\אירופה ירצה להעסיק מישהו שיכולת התקשורת שלו באנגלית כל כך נמוכה ?

avatar ענה ArielSafari ב 03 ליוני 2014 #

בבקשה:
Laravel Localization‏: http://www.youtube.com/playlist?list=PLfdtiltiRHWE11Rgcj_W8Hw0p-mLi2CNi

avatar ענה Splash ב 03 ליוני 2014 #

המטרה של הנושא היא לא לבקש עזרה אלה לשתף משהו נחמד שמצאתי למקרה שעוד מישהו יתקע ואם למישהו יש רעיון טוב יותר לבצע אני אשמח לשמוע.
לקישור שנתת אין שום קשר לאשכול,אני יודע לעבוד עם הקבצי שפה הבעיה הייתה ליצור את הנתיבים בלי ליצור כפילויות.